﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Summerset.Isbndb {

    /// <summary>
    /// A value that indicates how an IResponseEntity object handles situations when some 
    /// of it's properties have not been loaded in their initial request.
    /// </summary>
    public enum PageLoadingBehavior {

        /// <summary>
        /// Each page to be loaded must manually be requested.
        /// This is the default behavior and is is HIGHLY recommended that you keep this default.  
        /// Certain requests may return a VERY large number of results.
        /// </summary>
        SyncLoadOnRequest,
        /// <summary>
        /// When response is initialized, all pages will be loaded on a background thread.
        /// This is not recommended unless you have purchased extra useage keys from ISBNdb.com 
        /// or you are entirely sure that a relatively small number of pages will be returned.        
        /// </summary>
        AsyncLoadOnInitialization,
        /// <summary>
        /// When the IResponse object is initialized, all pages are to be loaded.
        /// This is not recommended unless you have purchased extra useage keys from ISBNdb.com 
        /// or you are entirely sure that a relatively small number of pages will be returned.        
        /// </summary>
        SyncLoadOnInitialization,
        /// <summary>
        /// A null reference is returned.  A page object must be loaded manually.
        /// </summary>
        ReturnNull
    }
}
